package com.zhijiaoyun.dao.core;

/**
 * @author shisfish
 * @date 2017/12/6
 */
public interface IBaseDao<T> {

    /**
     * deleteByPrimaryKey
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * insert
     *
     * @param t
     * @return
     */
    int insert(T t);

    /**
     * insertSelective
     *
     * @param t
     * @return
     */
    int insertSelective(T t);

    /**
     * selectByPrimaryKey
     *
     * @param id
     * @return
     */
    T selectByPrimaryKey(Long id);

    /**
     * updateByPrimaryKeySelective
     *
     * @param t
     * @return
     */
    int updateByPrimaryKeySelective(T t);

    /**
     * updateByPrimaryKey
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(T record);

}
